<?php

//puede el administrador de una empresa modificar los datos de los usuarios de la organizacion??
//supongamos que sí
class ProjectUser extends UserNo
{

    function asignar()
    {
        Security::removeResourceEdges( array( 'R_USR' => array( $this->id ) ),
                'R_USR_ENT', $_SESSION[ 'enterprise' ] );
        Security::addResourceEdges( array( 'R_USR' => array( $this->id ) ),
                'R_ADM_ENT', $_SESSION[ 'enterprise' ] );


        Security::addUserRoles( $this->id,
                array( 'ADM_ENT' => array( $_SESSION[ 'enterprise' ] ) ) );
        Security::removeUserRoles( $this->id,
                array( 'USR_ENT' => array( $_SESSION[ 'enterprise' ] ) ) );
    }

    function quitar()
    {
        Security::removeResourceEdges( array( 'R_USR' => array( $this->id ) ),
                'R_USR_ENT', $_SESSION[ 'enterprise' ] );
        Security::removeUserRoles( $this->id,
                array( 'USR_ENT' => array( $_SESSION[ 'enterprise' ] ) ) );

        //tendría que obtener los proyectos de la empresa y eliminar los roles de todos ellos
        //Tendría que quitar todos los roles de proyectos de $_SESSION['enterprise']
        //ADM_PRO, USR_PRO, ADM_ENT, USR_ENT
        //Security::removeResourceEdges(array('R_USR'=>array($this->id)), 'R_USR_ORG',$_SESSION['organization']);
        //Security::removeResourceEdges(array('R_USR'=>array($this->id)), 'R_ADM_ORG',$_SESSION['organization']);
    }

    function doPOST( Event $e )
    {
        if ( $e->tag == 'change_level' ) {

            if ( $_POST[ 'level' ] == '0' ) {
                $this->quitar();
            } else if ( $_POST[ 'level' ] == '2' ) {
                $this->asignar();
            }

            $e->cancelBubble();
        }
        else parent::doPOST( $e );
    }

}

?>
